<?php
/**
 * @package techniv-bb.tcnv-fw
 * @version 0.0.1
 * @copyright © Techniv 2011
 * @license <http://opensource.org/licenses/gpl-3.0.html> GNU General Public License - 3.0
 */

/**
 *
 * @author Vincent
 */
interface TcnvSQL {
	
	/**
	 * Défini les paramètre de connexion à la base de données.
	 * @param $host string Adresse du serveur
	 * @param $user string Nom de connexion
	 * @param $passwd string Mot de passe
	 * @param $database string Nom de la base de données
	 * @param $prefix string prefix des table phpBB
	 * @param $port string Port de connexion.
	 */
	function setConnection($host,$user,$passwd,$database,$prefix = '' ,$port = null);
	
	/**
	 * @return boolean Retourne true si le connexion peut être établie 
	 * et est prète à être utilisé.
	 */
	function isReady();
	
	/**
	 * Permet de préfixer les nom de table selon la configuration de phpBB.
	 * @param string $table_name Le non de la table à préfixé.
	 * @return string Retourne le nom de la table préfixé.
	 */
	function prefixTable($table_name);
	
	/**
	 * Execute an SQL query
	 * @param string $sql_query The SQL query
	 * @return resource The result set object of request result
	 */
	function query($sql_query);
	
	/**
	 * Return the associative array of the next result set line
	 * @param resource $result_set
	 * return mixed
	 */
	function feach_array($result_set);
	
	/**
	 * Close the SQL connection
	 */
	function close();
	
	/**
	 * Return the complet associative array of the query result.
	 * @param string $sql_query
	 */
	function query_array($sql_query);
	
	/**
	 * Check if an SQL query return any retult.
	 * @param string $sql_query
	 */
	function is_set($sql_query);
}

?>
